package com.indexingsystem.boss.admin.mapper;

import com.indexingsystem.boss.Vo.*;
import com.indexingsystem.boss.entity.IdxTask;
import com.indexingsystem.boss.entity.IdxTaskWithBLOBs;

import java.util.List;

public interface IdxTaskMapper {
    int deleteByPrimaryKey(Integer taskId);

    int insert(IdxTaskWithBLOBs record);

    int insertSelective(IdxTaskWithBLOBs record);

    IdxTaskWithBLOBs selectByPrimaryKey(Integer taskId);

    int updateByPrimaryKeySelective(IdxTaskWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(IdxTaskWithBLOBs record);

    int updateByPrimaryKey(IdxTask record);

    IdxTaskWithBLOBs selectTaskByParentId(Integer parentId);

    List<IdxTaskWithBLOBs> selectByParentId(List<Integer> parentIdList);


    List<TaskProductListVo> getTasksList(TaskProductListReqVo taskProductListReqVo);

    Integer getTasksListCount(TaskProductListReqVo taskProductListReqVo);

    List<IdxTaskWithBLOBs> getTaskById(Integer taskId);

    Integer deleteByIdBatch(List<String> list);

    List<IdxTaskWithBLOBs> selectAllList();

    List<IdxTaskWithBLOBs> getUnFinishedTaskList(TaskListReqVo reqVo);

    String getArrchildidsByTaskId(Integer taskId);

    Integer getParentIdByTaskId(Integer taskId);

    Integer updateCompleteStatusByIdBatch(Integer status, List<String> list);

    List<String> getUnCompleteTask();

    List<TaskProductListResVo> getCheckTasksList(TaskProductListReqVo reqVo);

    Integer selectCountByTaskIdAndStatus(TaskProductAddReqVo reqVo);


    List<String> getTopTaskIds();
}